/**
 *  Copyright (c) 2010-2011, Monash e-Research Centre
 * (Monash University, Australia)
 *  All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 * * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 * * Redistributions in binary form must reproduce the above copyright
 *       notice, this list of conditions and the following disclaimer in the
 *        documentation and/or other materials provided with the distribution.
 * * Neither the name of the Monash University nor the
 *       names of its contributors may be used to endorse or promote products
 *       derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY 
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
package au.edu.monash.its.confluence.plugins;

import com.atlassian.bandana.BandanaManager;
import com.atlassian.confluence.setup.bandana.ConfluenceBandanaContext;
//import com.atlassian.confluence.setup.settings.SettingsManager;

public class FedoraPublishManager {

	private BandanaManager bandanaManager;
//	private SettingsManager settingsManager;
    public static final String SERVER_URL= "au.edu.monash.its.confluence.plugins.FedoraPublish.fedora.url";
    public static final String USERNAME = "au.edu.monash.its.confluence.plugins.FedoraPublish.fedora.username";
    public static final String PASSWORD = "au.edu.monash.its.confluence.plugins.FedoraPublish.fedora.password";
    public static final String PDF_USER = "au.edu.monash.its.confluence.plugins.FedoraPublish.pdf.user";
    public static final String PDF_PASSWORD = "au.edu.monash.its.confluence.plugins.FedoraPublish.pdf.password";
    public static final String PUBLISH_USERS = "au.edu.monash.its.confluence.plugins.FedoraPublish.publish.users";
    

	public FedoraPublishManager() {
		
	}


	/**
	 * @param bandanaManager
	 *            the bandanaManager to set
	 */
	public void setBandanaManager(BandanaManager bandanaManager) {
		this.bandanaManager = bandanaManager;
	}

	/**
	 * @param settingsManager
	 *            the settingsManager to set
	 */
//	public void setSettingsManager(SettingsManager settingsManager) {
//		this.settingsManager = settingsManager;
//	}
	
	public String getServerURL() {
		String serverURL = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.SERVER_URL);
		return serverURL;
	}
	
	public String getUsername() {
		String username = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.USERNAME);
		return username;
	}

	public String getPassword() {
		String password = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PASSWORD);
		return password;
	}

	public void saveServerURL(String serverURL) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.SERVER_URL, serverURL);
	}
	
	public void saveUsername(String username) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.USERNAME, username);
	}

	public void savePassword(String password) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PASSWORD, password);
	}

	
	public String getPDFUser() {
		String pdfUser = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PDF_USER);
		return pdfUser;
	}
	
	public String getPDFPassword() {
		String password = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PDF_PASSWORD);
		return password;
	}

	public String getPublishUsers() {
		String users = (String) bandanaManager.getValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PUBLISH_USERS);
		return users;
	}

	public void savePDFUser(String pdfUser) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PDF_USER, pdfUser);
	}
	
	public void savePDFPassword(String password) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PDF_PASSWORD, password);
	}

	public void savePublishUsers(String users) {
		bandanaManager.setValue(new ConfluenceBandanaContext(), 
				FedoraPublishManager.PUBLISH_USERS, users);
	}
	
	
}
